home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / os2 / am4pmsrc.zip / IO.ASM < prev    next >
Assembly Source File  |  1994-10-21  |  2KB  |  132 lines

  1.           .386
  2.  
  3. IO_TEXT   segment   word public 'CODE'
  4.           assume    cs:IO_TEXT
  5.  
  6.           public    WPORT
  7. WPORT     proc      far
  8.  
  9.           push bp
  10.           mov  bp,sp
  11.           push ax
  12.           push dx
  13.  
  14.           mov  ax,[bp+6]
  15.           mov  dx,[bp+8]
  16.           out  dx,al
  17.  
  18.           pop  dx
  19.           pop  ax
  20.           pop  bp
  21.  
  22.           ret  4
  23.  
  24. WPORT     endp
  25.  
  26.           public    WPORT16
  27. WPORT16   proc      far
  28.  
  29.           push bp
  30.           mov  bp,sp
  31.           push ax
  32.           push dx
  33.  
  34.           mov  ax,[bp+6]
  35.           mov  dx,[bp+8]
  36.           out  dx,ax
  37.  
  38.           pop  dx
  39.           pop  ax
  40.           pop  bp
  41.  
  42.           ret  4
  43.  
  44. WPORT16   endp
  45.  
  46.           public    RPORT
  47. RPORT     proc      far
  48.  
  49.           push bp
  50.           mov  bp,sp
  51.           push dx
  52.  
  53.           mov  dx,[bp+6]
  54.           in   al,dx
  55.           xor  ah,ah
  56.  
  57.           pop  dx
  58.           pop  bp
  59.  
  60.           ret  2
  61.  
  62. RPORT     endp
  63.  
  64.  
  65.           public    RPORT16
  66. RPORT16   proc      far
  67.  
  68.           push bp
  69.           mov  bp,sp
  70.           push dx
  71.  
  72.           mov  dx,[bp+6]
  73.           in   ax,dx
  74.  
  75.           pop  dx
  76.           pop  bp
  77.  
  78.           ret  2
  79.  
  80. RPORT16   endp
  81.  
  82.           public    RPORTN
  83. RPORTN    proc      far
  84.  
  85.           push bp
  86.           mov  bp,sp
  87.           push es
  88.           push di
  89.           push dx
  90.  
  91.           mov  dx,[bp+12]
  92.           les  di,[bp+8]
  93.           mov  cx,[bp+6]
  94.           rep insb
  95.  
  96.           pop  dx
  97.           pop  di
  98.           pop  es
  99.           pop  bp
  100.  
  101.           ret  8
  102.  
  103. RPORTN    endp
  104.  
  105.  
  106.           public    RPORTN16
  107. RPORTN16  proc      far
  108.  
  109.           push bp
  110.           mov  bp,sp
  111.           push es
  112.           push di
  113.           push dx
  114.  
  115.           mov  dx,[bp+6]
  116.           les  di,[bp+8]
  117.           mov  cx,[bp+12]
  118.           rep insw
  119.  
  120.           pop  dx
  121.           pop  di
  122.           pop  es
  123.           pop  bp
  124.  
  125.           ret  8
  126.  
  127. RPORTN16  endp
  128.  
  129. IO_TEXT   ends
  130.  
  131.           end
  132.